/*
 * Copyright (C) 2009 Christoph Caks
 *
 * This file is part of GLWAK.
 *
 * GLWAK is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * GLWAK is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with GLWAK.  If not, see <http://www.gnu.org/licenses/>.
 *
 *
 * ContextConfiguration.cpp
 *
 *  Created on: 11.07.2009
 *      Author: Christoph Caks
 */

#include "OpenGL.h"
#include "ContextConfiguration.h"

namespace glwak {

ContextConfiguration::ContextConfiguration():
	depthBits			( 24 ),
	stencilBits			( 8 ),
	antialiasingLevel	( 0 ),
	majorVersion		( 2 ),
	minorVersion		( 1 ) {
}

ContextConfiguration::ContextConfiguration( GLuint _depthBits, GLuint _stencilBits, GLuint _antialiasingLevel ):
	depthBits			( _depthBits ),
	stencilBits			( _stencilBits ),
	antialiasingLevel	( _antialiasingLevel ),
	majorVersion		( 2 ),
	minorVersion		( 1 ) {
}

ContextConfiguration::ContextConfiguration( GLuint _depthBits, GLuint _stencilBits, GLuint _antialiasingLevel, GLuint _majorVersion, GLuint _minorVersion ):
	depthBits			( _depthBits ),
	stencilBits			( _stencilBits ),
	antialiasingLevel	( _antialiasingLevel ),
	majorVersion		( _majorVersion ),
	minorVersion		( _minorVersion ) {
}

ContextConfiguration::ContextConfiguration( GLuint _majorVersion, GLuint _minorVersion ):
	depthBits			( 24 ),
	stencilBits			( 8 ),
	antialiasingLevel	( 0 ),
	majorVersion		( _majorVersion ),
	minorVersion		( _minorVersion ) {
}

ContextConfiguration::~ContextConfiguration() {
}

void ContextConfiguration::setDepthBits( GLuint _depthBits ) {
	this->depthBits = _depthBits;
}

void ContextConfiguration::setStencilBits( GLuint _stencilBits ) {
	this->stencilBits = _stencilBits;
}

void ContextConfiguration::setAntialiasingLevel( GLuint _antialiasingLevel ) {
	this->antialiasingLevel = _antialiasingLevel;
}

void ContextConfiguration::setMajorVersion( GLuint _majorVersion ) {
	this->majorVersion = _majorVersion;
}

void ContextConfiguration::setMinorVersion( GLuint _minorVersion ) {
	this->minorVersion = _minorVersion;
}

GLuint ContextConfiguration::getDepthBits() {
	return this->depthBits;
}

GLuint ContextConfiguration::getStencilBits() {
	return this->stencilBits;
}

GLuint ContextConfiguration::getAntialiasingLevel() {
	return this->antialiasingLevel;
}

GLuint ContextConfiguration::getMajorVersion() {
	return this->majorVersion;
}

GLuint ContextConfiguration::getMinorVersion() {
	return this->minorVersion;
}

} // namespace glwak
